
/*
 The are various constants used throughout the application
*/

/********************************************/

/* DataManager */
#define API_key @"J-BJc1KZEiTQdphsMCsW3DUbWsjgqTo5"	// The API key for KaChing

/********************************************/

/* Holdings_TableVC */
#define longHoldingsSegment				0	// Used to reference the Long Holdings segment
#define shortHoldingsSegment			1	// Used to reference the Short Holdings segment
#define pendingOrdersSegment			2	// Used to reference the Pending Orders segment

#define stockTickerLabel_Tag			1	// Used to reference the stock ticker label in a tableViewCell
#define currentPriceLabel_Tag			2	// Used to reference the current price label in a tableViewCell
#define currentPriceChangeLabel_Tag		3	// Usd to reference the current price change label in a tableViewCell
#define currentPercentChangeLabel_Tag	4	// Usd to reference the current percent price change label in a tableViewCell
#define actionLabel_Tag					2	// Used to reference the action label in a tableViewCell
#define quantityLabel_Tag				3	// Used to reference the quantity in a tableViewCell

#define stockPriceIndex			0	// Used to display the stock's current price
#define numShareIndex			1	// Used to display the number shares of the stock that the user has
#define totalCashIndex			2	// Used to display the total amount for that stock (price * numShares)

#define activityIndicatorySize		40.0	// The size of the activity indicator
#define ticker	CGRectMake(25.0, 5.0, 100.0, 25.0) //label size of stock ticker
#define prChange CGRectMake(25.0, 30.0, 100.0, 10.0) //label size of stock price change
#define price CGRectMake(105.0, 5.0, 180.0, 35.0) //label size of stock price

/********************************************/

/* Watchlist_TableVC */
#define priceWL CGRectMake(105.0, 5.0, 100.0, 35.0) //label size of stock price

/********************************************/

/* Settings_TableVC */
#define selectProfile_ActionSheetIndex	0	// Used to reference the selectProfile index of the actionSheet
#define editProfile_ActionSheetIndex	1	// Used to reference the editProfile index of the actionSheet
#define deleteProfile_ActionSheetIndex	2	// Used to reference the deleteProfile index of the actionSheet

/********************************************/

/* UserAttr_TableVC */
#define profileNameIndex			0	// Used to reference the index of the profileName in the view's table
#define userIDIndex					1	// Used to reference the index of the userID in the view's table
#define remoteKeyIndex				2	// Used to reference the index of the remoteKey in the view's table

/********************************************/

/* AddNewProfile_VC */
#define keypad_offset_forNewProfile	200.0	// The amount of pixels to move vertically when the keypad is pressed


/* Main Tab Bar Indices */
#define homeNavControllerIndex		0	// The index of the Home Screen's navController in the TabBarController tabs
#define holdingsNavControllerIndex	1	// The index of the Holding's navController in the TabBarController tabs
#define watchlistNavControllerIndex 2	// The index of the Watchlist's navController in the TabBarController tabs
#define tradeNavControllerIndex		3	// The index of the Trade's navController in the TabBarController tabs

/* Standings_TableVC */
#define secondsPerDay 86400.0	// The number of seconds in one day (24 * 60 * 60)

#define labelWidth		73.0	// The width of the last three labels in each tabelCell
#define labelHeight		43.0	// The height of the last three labels in each tabelCell

									// NOTE: CGRectMake(x_pos, y_pos, width, height);
#define returnLabelDimensions		CGRectMake(0.0, 0.0, 2*labelWidth, labelHeight)
#define firstLabel_Dimensions		CGRectMake(0.0, 0.0, labelWidth, labelHeight)		// The dimensions of the first label in each cell (i.e., the label with the name)
#define secondLabel_Dimensions		CGRectMake(73.0, 0.0, labelWidth, labelHeight)	// The dimensions of the second label in each cell (i.e., the label corresponding to today)
#define thirdLabel_Dimensions		CGRectMake(175.0, 0.0, labelWidth, labelHeight)	// The dimensions of the third label in each cell (i.e., the label corresponding to week)
#define fourthLabel_Dimensions		CGRectMake(248.0, 0.0, labelWidth, labelHeight)	// The dimensions of the fourth label in each cell (i.e., the label corresponding to month)

/********************************************/

/* Stock_VC */
#define add2Watchlist_AlertViewIndex	1	// The index in the Watch List alertView confirming that the user wants to add the stock to the watchlist

/********************************************/

/* Trade_VC */
#define keypad_offset_forTrade	160.0		// The amount of pixels to move verticallly when the keypad is pressed

#define buy_ActionSheetIndex		0		// Used to reference the 'buy' index of the actionSheet
#define sell_ActionSheetIndex		1		// Used to reference the 'sell' index of the actionSheet
#define shortSell_ActionSheetIndex	2		// Used to reference the 'short sell' index of the actionSheet
#define buy2Cover_ActionSheetIndex	3		// Used to reference the 'buy to cover' index of the actionSheet

#define performTrade_AlertViewIndex	1		// The index of the tradeSummary AlertView confirming the user wants to perform the trade with the given trade criteria

/********************************************/

/* Colors */
#define customLightGray				colorWithRed:0.918 green:0.918 blue:0.918 alpha:1	//The color used for background in alernate cells of holdings, and watchlist
#define customGreen					colorWithRed:.067 green:.455 blue:.039 alpha:1	//The color used for price change text if it is non-negative
#define customSeaFoamGreen			colorWithRed:0.173 green:0.38 blue:0.502 alpha:1 //The color used for labels on the home screen. Stolen from Kachin's website, this should help us to match their branding.

/********************************************/